package mn.idax.exchange.otc.mapper;

import mn.idax.exchange.otc.domain.openapi.ChangeAccountLogDTO;
import mn.idax.exchange.otc.domain.openapi.ChangeAccountLogRequest;
import mn.idax.exchange.otc.entity.AccountTransaction;
import mn.idax.exchange.otc.entity.AccountTransactionExample;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import java.util.List;

public interface AccountTransactionMapper {
    int countByExample(AccountTransactionExample example);

    int deleteByExample(AccountTransactionExample example);

    int deleteByPrimaryKey(Long num);

    int insert(AccountTransaction record);

    int insertSelective(AccountTransaction record);

    List<AccountTransaction> selectByExampleWithRowbounds(AccountTransactionExample example, RowBounds rowBounds);

    List<AccountTransaction> selectByExample(AccountTransactionExample example);

    AccountTransaction selectByPrimaryKey(Long num);

    int updateByExampleSelective(@Param("record") AccountTransaction record, @Param("example") AccountTransactionExample example);

    int updateByExample(@Param("record") AccountTransaction record, @Param("example") AccountTransactionExample example);

    int updateByPrimaryKeySelective(AccountTransaction record);

    int updateByPrimaryKey(AccountTransaction record);

    List<ChangeAccountLogDTO> queryUserIdAndTypePage(ChangeAccountLogRequest changeAccountLogRequest);
}